package com.xqboss.apps.vo.punch;

import com.xqboss.apps.domain.punch.PunchWeakenConfig;
import com.xqboss.apps.vo.consumer.ConsumerTeamVo;
import com.xqboss.apps.vo.user.UserNFTItemVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 *     用户打卡配置详情
 * </p>
 * @author Trent
 * @date 2023/8/15
 */
@Data
@ApiModel
public class UserPunchConfigVo {

    private Long id;

    @ApiModelProperty("用户打卡规则")
    private PunchRuleVo punchRule;

    @ApiModelProperty("装备信息")
    private UserNFTItemVo equipmentInfo;

    @ApiModelProperty("上次打卡时间")
    private LocalDateTime lastPunchTime;

    @ApiModelProperty("下次打卡时间")
    private LocalDateTime nextPunchTime;

    @ApiModelProperty("打卡倒计时")
    private Integer punchCountdown;

    @ApiModelProperty("打卡间隔")
    private Integer punchInterval;

    @ApiModelProperty("今日打卡次数")
    private Integer todayPunchCount;

    @ApiModelProperty("总打卡次数")
    private Integer totalPunchCount;

    @ApiModelProperty("今日打卡收益")
    private BigDecimal todayPunchIncome;

    @ApiModelProperty("总打卡收益")
    private BigDecimal totalPunchIncome;

    @ApiModelProperty("预估下次打卡收益")
    private BigDecimal nextPunchIncome;

    @ApiModelProperty("获取装备下次打卡衰减,为null表示不衰减")
    private PunchWeakenConfig nextPunchWeaken;

    @ApiModelProperty("今日是否还可以打卡")
    private Boolean todayCanPunch;

    @ApiModelProperty("队伍信息")
    private ConsumerTeamVo teamInfo;

}
